package com.origin.niuke.point;

/**
 * 盛水最多的容器
 * 算法：双指针
 * 要想盛水最多, 两根柱子就要离得远, 而且柱子要高
 * 所以可以从两边开始遍历, 如果左边的柱子比右边的小, 则左边向后寻找
 *
 * @author yezh
 * @date 2022/12/23 21:13
 */
public class NC168 {

    public int maxArea (int[] height) {
        if (height.length == 0) return 0;
        int ans = 0, l = 0, r = height.length - 1;
        while (l < r) {
            ans = Math.max(ans, Math.min(height[l], height[r]) * (r - l));
            if (height[l] < height[r]) ++l;
            else --r;
        }
        return ans;
    }

}
